num_convert
Rust library for converting integers.
Description
This library provide a way to convert from one type to another type. Supports generics types.
Generic traits for conversions between integer types.
- The FromByAdd trait for converting from negative integers to positive or vice versa.
- The IntoByAdd trait for converting into negative integers to positive or vice versa.
- The TryFromByAdd trait for converting from negative integers to positive or vice versa, that can fail.
- The TryIntoByAdd trait for converting into negative integers to positive or vice versa, that can fail.
- The FromAs generic trait for conversion from integers with possible overflow.
- The IntoAs generic trait for conversion into integers with possible overflow.
- The TryFromDigits trait for converting from digits as a number, with possible value types.
- The TryFromIntStr trait for converting from str or integer to type integer.
- The FromTuple trait for convert a tuple of different types to an array of integers.
- The TryFromTuple trait for convert a tuple of different types to an array of integers, possible conversion error.
Other traits for integers.
- A trait IntegerLen to determine the number of digits of integers.
- The Sbits trait for define the size of integer value in bits.
- The Tbits trait for define the size of integer type in bits.
- The ToZero trait for implementing the null value of types.
- The ToMin trait for implement lower bounds on types.
- The ToMax trait for implement upper bounds on types.
Usage
Add this to your Cargo.toml
=
num_convert
Or using cargo
cargo add num_convert --git "https://github.com/pic16f877ccs/num_convert"
Examples
Convert from negative into positive and positive into negative.
use FromByAdd;
assert_eq!;
assert_eq!;
Convert into between integer types.
use IntoByAdd;
assert_eq!;
assert_eq!;
Convert from negative into positive without error and with error.
use TryFromByAdd;
assert_eq!;
assert_eq!;
Convert between 128 bit types lossless.
use TryIntoByAdd;
assert_eq!;
assert_eq!;
Conversions type U16 in U8 without overflow and with overflow.
use ;
assert_eq!;
assert_eq!;
assert_eq!;
Converting from digits as a number.
use TryFromDigits;
let arr: = ;
let val: = arr.iter.map.;
assert_eq!;
The size of integer values in bits.
use Sbits;
assert_eq!;
assert_eq!;
The size of integer type in bits.
use Tbits;
assert_eq!;
assert_eq!;
Determining the number of digits of integers.
use IntegerLen;
assert_eq!;
assert_eq!;
assert_eq!;
assert_eq!;
Converting from tuple to array of integers.
use FromTuple;
assert_eq!;
assert_eq!;
Conversion from str or integer to type integer.
use TryFromIntStr;
assert_eq!;
assert!;
assert_eq!;
assert!;
assert_eq!;
assert_eq!;
Converting tuple to array of integers.
use TryTupToArr;
assert_eq!;
let arr: = .try_into_arr.unwrap;
assert_eq!;
License
MIT